package com.xmtlxx.sacw.service;

import com.xmtlxx.common.core.domain.PageQuery;
import com.xmtlxx.common.core.page.TableDataInfo;
import com.xmtlxx.sacw.domain.DisposalInfo;
import com.xmtlxx.sacw.domain.DisposalPro;
import com.xmtlxx.sacw.domain.bo.DisposalConfirmBo;
import com.xmtlxx.sacw.domain.bo.DisposalRegisterBo;
import com.xmtlxx.sacw.domain.bo.DisposalRegisteredBo;
import com.xmtlxx.sacw.domain.vo.DisposalRegisteredInfoVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 处置Service接口
 *
 * @author hergreen
 * @date 2024/07/19 10:36
 **/
public interface IDisposalService {

    /**
     * 处置确认
     *
     * @param pageQuery page query
     * @param bo        bo
     * @return java.util.List<com.xmtlxx.sacw.domain.bo.DisposalEnterBo>
     * @author hergreen
     * @date 2024/07/19 11:15
     */
    TableDataInfo<DisposalConfirmBo> getDisposalConfirmPage(PageQuery pageQuery, DisposalConfirmBo bo);

    /**
     * 处置登记
     *
     * @param bo
     * @author hergreen
     * @date 2024/08/08 14:37
     */
    void disposalRegister(DisposalRegisterBo bo);

    /**
     * 处置已登记
     *
     * @param pageQuery page query
     * @param bo        bo
     * @return TableDataInfo<DisposalRegisteredBo>
     * @author hergreen
     * @date 2024/08/08 14:37
     */
    TableDataInfo<DisposalRegisteredBo> getDisposalRegisteredPage(PageQuery pageQuery, DisposalRegisteredBo bo);

    DisposalRegisteredInfoVo getDisposalRegisteredInfo(@Param("id") String id);

    void deleteDisposalRegistered(String id);

    /**
     * 更新处置信息
     *
     * @param disposalInfo 处置信息
     * @return boolean
     * @author hergreen
     * @date 2025/03/03 11:41
     */
    boolean updateInfo(DisposalInfo disposalInfo);

    /**
     * 添加处置财物
     *
     * @param disposalProList 处置财物
     * @return java.lang.Boolean
     * @author hergreen
     * @date 2025/03/03 15:11
     */
    boolean addPro(List<DisposalPro> disposalProList);

    /**
     * 删除处置财物
     *
     * @param id id
     * @return boolean
     * @author hergreen
     * @date 2025/03/03 15:30
     */
    boolean deletePro(String id);

    void uploadExcel(List<List<String>> data);

}
